<h2 id="Master"><a href="#Master" class="headerlink" title="Master"></a>Master</h2><p>New languages:</p>
<p>New styles:</p>
<p>Improvements:</p>
<h2 id="Version-9-15-8"><a href="#Version-9-15-8" class="headerlink" title="Version 9.15.8"></a>Version 9.15.8</h2><p>New languages:<br>  none.<br>New styles:<br>  none.<br>Improvements:</p>
<ul>
<li>fix(bash): revert escaped double quotes - broke Firefox/Safari.</li>
</ul>
<h2 id="Version-9-15-7"><a href="#Version-9-15-7" class="headerlink" title="Version 9.15.7"></a>Version 9.15.7</h2><p>New languages:<br>  none.<br>New styles:<br>  none.<br>Improvements:</p>
<ul>
<li>fix(powershell): Add cmdlets (#2022)</li>
<li>fix(Bash): escaped double quotes (#2041)</li>
<li>fix(c++): add aliases ‘hh’, ‘hxx’, ‘cxx’ (#2017)</li>
<li>fix(ini/toml): Support comments on the same line. (#2039)</li>
<li>fix(JSX): not rendering well in a function without parentheses. (#2024)</li>
<li>fix(LiveCode): language definition update (#2021)</li>
<li>fix(markdown): indented lists (#2004)</li>
<li>fix(styles/school-book): don’t style all the pre, use .hljs instead (#2034)</li>
<li>fix(JSX): Modify JSX tag detection to use XML language regex in place of simplistic \w+</li>
</ul>
<h2 id="Version-9-15-6"><a href="#Version-9-15-6" class="headerlink" title="Version 9.15.6"></a>Version 9.15.6</h2><p>New languages:<br>    none.<br>New styles:<br>    none.<br>Improvements:</p>
<ul>
<li>Move dependencies to be devDependencies.</li>
<li>Fixed security issues in dev dependencies.</li>
</ul>
<h2 id="Version-9-15-5"><a href="#Version-9-15-5" class="headerlink" title="Version 9.15.5"></a>Version 9.15.5</h2><p>New languages:<br>    none.<br>New styles:<br>    none.<br>Improvements:<br>  🔥 Hot fix: updated build tool.</p>
<h2 id="Version-9-15-4"><a href="#Version-9-15-4" class="headerlink" title="Version 9.15.4"></a>Version 9.15.4</h2><p>New languages:<br>    none.<br>New styles:<br>    none.<br>Improvements:<br>  🔥 Hot fix: reverted hljs cli build tool, as it was causing issues with install.</p>
<h2 id="Version-9-15-3"><a href="#Version-9-15-3" class="headerlink" title="Version 9.15.3"></a>Version 9.15.3</h2><p>New languages:<br>    none.<br>New styles:<br>    none.<br>Improvements:<br>  🔥 Hot fix: reverted hljs cli build tool, as it was causing issues with install.</p>
<h2 id="Version-9-15-2"><a href="#Version-9-15-2" class="headerlink" title="Version 9.15.2"></a>Version 9.15.2</h2><p>New languages:<br>    none.<br>New styles:<br>    none.<br>Improvements:<br>  🔥 Hot fix that was preventing highlight.js from installing.</p>
<h2 id="Version-9-15-1"><a href="#Version-9-15-1" class="headerlink" title="Version 9.15.1"></a>Version 9.15.1</h2><p>New languages:<br>    none.</p>
<p>New styles:<br>    none.</p>
<p>Improvements:</p>
<ul>
<li>Pony: Fixed keywords without spaces at line ends, highlighting of <code>iso</code> in class definitions, and function heads without bodies in traits and interfaces. Removed FUNCTION and CLASS modes until they are found to be needed and to provide some of the fixes.<ul>
<li>Support external language files in minified version of highlight.js (#1888)</li>
</ul>
</li>
</ul>
<h2 id="Version-9-15"><a href="#Version-9-15" class="headerlink" title="Version 9.15"></a>Version 9.15</h2><p>New languages:<br>    none.</p>
<p>New styles:<br>    none.</p>
<p>Improvements:</p>
<ul>
<li>new cli tool <code>hljs</code> - allows easier <a href="docs/building-testing.rst#building-a-bundle-from-the-command-line">building from command line</a>.</li>
<li>cpp: Fully support C++11 raw strings. (#1897)</li>
<li>Python: Treat False None and True as literals (#1920)</li>
</ul>
<h2 id="Version-9-14-2"><a href="#Version-9-14-2" class="headerlink" title="Version 9.14.2"></a>Version 9.14.2</h2><p>New languages:<br>  none.<br>New styles:<br>  none.<br>Improvements:</p>
<ul>
<li><em>Gauss</em> fixed to stop global namespace pollution <a href="https://github.com/shyndman">Scott Hyndman</a>.</li>
<li>fix(Tcl): removed apostrophe string delimiters (don’t exist)</li>
</ul>
<h2 id="Version-9-14-1"><a href="#Version-9-14-1" class="headerlink" title="Version 9.14.1"></a>Version 9.14.1</h2><p>New languages:<br>    none.<br>New styles:<br>    none.<br>Improvements:</p>
<ul>
<li>Pony: language improvements (#1958)</li>
</ul>
<h2 id="Version-9-14-0"><a href="#Version-9-14-0" class="headerlink" title="Version 9.14.0"></a>Version 9.14.0</h2><p>New languages:<br>    none.<br>New styles:<br>    none.<br>Improvements:</p>
<ul>
<li>Pony: add missing “object” highlighting (#1932)</li>
<li>Added <em>XQuery</em> built-in functions, prolog declarations, as well as parsing of function bodies, computed and direct constructors, by <a href="https://github.com/duncdrum">Duncan Paterson</a></li>
<li>fix(dart): Corrects highlighting with string interpolation. (#1946)</li>
<li>fix(swift): be eager on optional-using types (!/?) (#1919)</li>
<li>fix(tex): Changed cyrillic to unicode (IE11 throw SCRIPT5021) (#1601)</li>
<li>fix(JavaScript): Recognize get/set accessor keywords (#1940)</li>
<li>Fixed Dockerfile definition when using highlight continuation parameter, by <a href="https://github.com/l-vo">Laurent Voullemier</a></li>
<li>Added tests &amp; new <code>annotation</code> and <code>verbatim</code> keywords to <em>Crystal</em>, by <a href="https://github.com/bew">Benoit de Chezelles</a></li>
<li>Added missing dockerfile markup tests, by <a href="https://github.com/l-vo">Laurent Voullemier</a><br>Allow empty prompt text in clojure-repl, by <a href="https://github.com/egor-rogov">Egor Rogov</a></li>
<li>Fixed several issues with <em>Crystal</em> language definition, by <a href="https://github.com/straight-shoota">Johannes Müller</a></li>
<li>Added <code>C#</code> as an alias for <em>CSharp</em> language, by <a href="https://github.com/atitoa93">Ahmed Atito</a></li>
<li>Added generic user-defined proc support, new compiler define, refactor to re-use rules, and add tests to <em>GAUSS</em>, by <a href="https://github.com/matthewevans">Matthew Evans</a></li>
<li>Improve <em>Crystal</em> language to highlight regexes after some keywords, by <a href="https://github.com/MakeNowJust">Tsuyusato Kitsune</a></li>
<li>Fix filterByQualifiers: fileInfo can be null</li>
<li>Fixed String interpolation in Dart, by <a href="https://github.com/shyndman">Scott Hyndman</a>.</li>
</ul>
<h2 id="Version-9-13-1"><a href="#Version-9-13-1" class="headerlink" title="Version 9.13.1"></a>Version 9.13.1</h2><p>Improvements:</p>
<ul>
<li><em>C#</em> function declarations no longer include trailing whitespace, by <a href="https://github.com/JeremyTCD">JeremyTCD</a></li>
<li>Added new and missing keywords to <em>AngelScript</em>, by <a href="https://github.com/codecat">Melissa Geels</a></li>
<li><em>TypeScript</em> decorator factories highlighting fix, by <a href="https://github.com/Aboisier">Antoine Boisier-Michaud</a></li>
<li>Added support for multiline strings to <em>Swift</em>, by <a href="https://github.com/alejandro-isaza">Alejandro Isaza</a></li>
<li>Fixed issue that was causing some minifiers to fail.</li>
<li>Fixed <code>autoDetection</code> to accept language aliases.</li>
</ul>
<h2 id="Version-9-13-0"><a href="#Version-9-13-0" class="headerlink" title="Version 9.13.0"></a>Version 9.13.0</h2><p>New languages:</p>
<ul>
<li><em>ArcGIS Arcade</em> by <a href="https://github.com/jf990">John Foster</a></li>
<li><em>AngelScript</em> by <a href="https://github.com/codecat">Melissa Geels</a></li>
<li><em>GML</em> by <a href="https://github.com/meseta">meseta</a></li>
<li><em>isbl</em> built-in language DIRECTUM and Conterra by <a href="https://github.com/MedvedTMN">Dmitriy Tarasov</a>.</li>
<li><em>PostgreSQL</em> SQL dialect and PL/pgSQL language by <a href="https://github.com/egor-rogov">Egor Rogov</a>.</li>
<li><em>ReasonML</em> by <a href="https://github.com/gmmorris">Gidi Meir Morris</a></li>
<li><em>SAS</em> by <a href="https://github.com/mcaceresb">Mauricio Caceres Bravo</a></li>
<li><em>Plaintext</em> by <a href="https://github.com/egor-rogov">Egor Rogov</a></li>
<li><em>.properties</em> by <a href="https://github.com/bostko">bostko</a> and <a href="https://github.com/egor-rogov">Egor Rogov</a></li>
</ul>
<p>New styles:</p>
<ul>
<li><em>a11y-dark theme</em> by <a href="https://github.com/ericwbailey">Eric Bailey</a></li>
<li><em>a11y-light theme</em> by <a href="https://github.com/ericwbailey">Eric Bailey</a></li>
<li><em>An Old Hope</em> by <a href="https://github.com/gusbemacbe">Gustavo Costa</a></li>
<li><em>Atom One Dark Reasonable</em> by <a href="https://github.com/gmmorris">Gidi Meir Morris</a></li>
<li><em>isbl editor dark</em> by <a href="https://github.com/MedvedTMN">Dmitriy Tarasov</a></li>
<li><em>isbl editor light</em> by <a href="https://github.com/MedvedTMN">Dmitriy Tarasov</a></li>
<li><em>Lightfair</em> by <a href="https://github.com/TristianK3604">Tristian Kelly</a></li>
<li><a href="https://github.com/arcticicestudio/nord-highlightjs"><em>Nord</em></a> by <a href="https://github.com/arcticicestudio">Arctic Ice Studio</a></li>
<li>*<a href="https://github.com/ahmadawais/Shades-of-Purple-HighlightJS">🦄 Shades of Purple</a>* by <a href="https://github.com/ahmadawais">Ahmad Awais</a></li>
</ul>
<p>Improvements:</p>
<ul>
<li>New attribute <code>endSameAsBegin</code> for nested constructs with variable names<br>by <a href="https://github.com/egor-rogov">Egor Rogov</a>.</li>
<li><em>Python</em> highlighting of escaped quotes fixed by <a href="https://github.com/Harmon758">Harmon</a></li>
<li><em>PHP</em>: Added alias for php7, by <a href="https://github.com/vijaycs85">Vijaya Chandran Mani</a></li>
<li><em>C++</em> string handling, by <a href="https://github.com/davidben">David Benjamin</a></li>
<li><em>Swift</em> Add <code>@objcMembers</code> to <code>@attributes</code>, by <a href="https://github.com/berkcebi">Berk Çebi</a></li>
<li>Infrastructural changes by <a href="https://github.com/marcoscaceres">Marcos Cáceres</a></li>
<li>Fixed metachars highighting for <em>NSIS</em> by <a href="https://github.com/idleberg">Jan T. Sott</a></li>
<li><em>Yaml</em> highlight local tags as types by <a href="https://github.com/leoetlino">Léo Lam</a></li>
<li>Improved highlighting for <em>Elixir</em> by <a href="https://github.com/pkaminski">Piotr Kaminski</a></li>
<li>New attribute <code>disableAutodetect</code> for preventing autodetection by <a href="https://github.com/egor-rogov">Egor Rogov</a></li>
<li><em>Matlab</em>: transpose operators and double quote strings, by <a href="https://github.com/JohnC32">JohnC32</a> and <a href="https://github.com/egor-rogov">Egor Rogov</a></li>
<li>Various documentation typos and improvemets by <a href="https://github.com/jimmywarting">Jimmy Wärting</a>, <a href="https://github.com/lutz-100worte">Lutz Büch</a>, <a href="https://github.com/bcleland">bcleland</a></li>
<li><em>Cmake</em> updated with new keywords and commands by <a href="https://github.com/Bagira80">Deniz Bahadir</a></li>
</ul>
<h2 id="Version-9-12-0"><a href="#Version-9-12-0" class="headerlink" title="Version 9.12.0"></a>Version 9.12.0</h2><p>New language:</p>
<ul>
<li><em>MikroTik</em> RouterOS Scripting language by <a href="https://github.com/DiVAN1x">Ivan Dementev</a>.</li>
</ul>
<p>New style:</p>
<ul>
<li><em>VisualStudio 2015 Dark</em> by <a href="https://github.com/Nicolas01">Nicolas LLOBERA</a></li>
</ul>
<p>Improvements:</p>
<ul>
<li><em>Crystal</em> updated with new keywords and syntaxes by <a href="https://github.com/MakeNowJust">Tsuyusato Kitsune</a>.</li>
<li><em>Julia</em> updated to the modern definitions by <a href="https://github.com/ararslan">Alex Arslan</a>.</li>
<li><em>julia-repl</em> added by <a href="https://github.com/mortenpi">Morten Piibeleht</a>.</li>
<li><a href="https://github.com/4ppl">Stanislav Belov</a> wrote a new definition for <em>1C</em>, replacing the one that<br>has not been updated for more than 8 years. The new version supports syntax<br>for versions 7.7 and 8.</li>
<li><a href="https://github.com/Nicolas01">Nicolas LLOBERA</a> improved C# definition fixing edge cases with function<br>titles detection and added highlighting of <code>[Attributes]</code>.</li>
<li><a href="https://github.com/nnnik">nnnik</a> provided a few correctness fixes for <em>Autohotkey</em>.</li>
<li><a href="https://github.com/maacl">Martin Clausen</a> made annotation collections in <em>Clojure</em> to look<br>consistently with other kinds.</li>
<li><a href="https://github.com/Azoy">Alejandro Alonso</a> updated <em>Swift</em> keywords.</li>
</ul>
<h2 id="Version-9-11-0"><a href="#Version-9-11-0" class="headerlink" title="Version 9.11.0"></a>Version 9.11.0</h2><p>New languages:</p>
<ul>
<li><em>Shell</em> by <a href="https://github.com/MakeNowJust">Tsuyusato Kitsune</a></li>
<li><em>jboss-cli</em> by <a href="https://github.com/rparree">Raphaël Parrëe</a></li>
</ul>
<p>Improvements:</p>
<ul>
<li>[Joël Porquet] has <a href="https://github.com/isagalaev/highlight.js/commit/5b3e0e68bfaae282faff6697d6a490567fa9d44b">greatly improved the definition of <em>makefile</em></a>.</li>
<li><em>C++</em> class titles are now highlighted as in other languages with classes.</li>
<li><a href="https://github.com/jordi-petit">Jordi Petit</a> added rarely used <code>or</code>, <code>and</code> and <code>not</code> keywords to <em>C++</em>.</li>
<li><a href="https://github.com/NuclearCookie">Pieter Vantorre</a> fixed highlighting of negative floating point values.</li>
</ul>
<h2 id="Version-9-10-0"><a href="#Version-9-10-0" class="headerlink" title="Version 9.10.0"></a>Version 9.10.0</h2><p>Apologies for missing the previous release cycle. Some thing just can’t be<br>automated… Anyway, we’re back!</p>
<p>New languages:</p>
<ul>
<li><em>Hy</em> by <a href="https://github.com/profitware">Sergey Sobko</a></li>
<li><em>Leaf</em> by <a href="https://github.com/halechan">Hale Chan</a></li>
<li><em>N1QL</em> by <a href="https://github.com/andrestaht">Andres Täht</a> and <a href="https://github.com/nene">Rene Saarsoo</a></li>
</ul>
<p>Improvements:</p>
<ul>
<li><em>Rust</em> got updated with new keywords by <a href="https://github.com/kasma1990">Kasper Andersen</a> and then<br>significantly modernized even more by <a href="https://github.com/eddyb">Eduard-Mihai Burtescu</a> (yes, @eddyb,<br>Rust core team member!)</li>
<li><em>Python</em> updated with f-literals by <a href="https://github.com/flying-sheep">Philipp A</a>.</li>
<li><em>YAML</em> updated with unquoted strings support.</li>
<li><em>Gauss</em> updated with new keywords by <a href="https://github.com/matthewevans">Matt Evans</a>.</li>
<li><em>Lua</em> updated with new keywords by <a href="https://github.com/mossarelli">Joe Blow</a>.</li>
<li><em>Kotlin</em> updated with new keywords by <a href="https://github.com/phauer">Philipp Hauer</a>.</li>
<li><em>TypeScript</em> got highlighting of function params and updated keywords by<br><a href="https://github.com/dempfi">Ike Ku</a>.</li>
<li><em>Scheme</em> now correctly handles `-quoted lists thanks to <a href="https://github.com/Kraks">Guannan Wei</a>.</li>
<li><a href="https://github.com/samsam2310">Sam Wu</a> fixed handling of <code>&lt;&lt;</code> in <em>C++</em> defines.</li>
</ul>
<h2 id="Version-9-9-0"><a href="#Version-9-9-0" class="headerlink" title="Version 9.9.0"></a>Version 9.9.0</h2><p>New languages</p>
<ul>
<li><em>LLVM</em> by <a href="https://github.com/f0rki">Michael Rodler</a></li>
</ul>
<p>Improvements:</p>
<ul>
<li><em>TypeScript</em> updated with annotations and param lists inside constructors, by<br><a href="https://github.com/rparree">Raphael Parree</a>.</li>
<li><em>CoffeeScript</em> updated with new keywords and fixed to recognize JavaScript<br>in ```, thanks to thanks to <a href="https://github.com/GeoffreyBooth">Geoffrey Booth</a>.</li>
<li>Compiler directives in <em>Delphi</em> are now correctly highlighted as “meta”.</li>
</ul>
<h2 id="Version-9-8-0-“New-York”"><a href="#Version-9-8-0-“New-York”" class="headerlink" title="Version 9.8.0 “New York”"></a>Version 9.8.0 “New York”</h2><p>This version is the second one that deserved a name. Because I’m in New York,<br>and the release isn’t missing the deadline only because it’s still Tuesday on<br>West Coast.</p>
<p>New languages:</p>
<ul>
<li><em>Clean</em> by <a href="https://github.com/camilstaps">Camil Staps</a></li>
<li><em>Flix</em> by <a href="https://github.com/magnus-madsen">Magnus Madsen</a></li>
</ul>
<p>Improvements:</p>
<ul>
<li><a href="https://github.com/FuzzyWuzzie">Kenton Hamaluik</a> did a comprehensive update for <em>Haxe</em>.</li>
<li>New commands for <em>PowerShell</em> from <a href="https://github.com/darkitty">Nicolas Le Gall</a>.</li>
<li><a href="https://github.com/idleberg">Jan T. Sott</a> updated <em>NSIS</em>.</li>
<li><em>Java</em> and <em>Swift</em> support unicode characters in identifiers thanks to<br><a href="https://github.com/manniL">Alexander Lichter</a>.</li>
</ul>
<h2 id="Version-9-7-0"><a href="#Version-9-7-0" class="headerlink" title="Version 9.7.0"></a>Version 9.7.0</h2><p>A comprehensive bugfix release. This is one of the best things about<br>highlight.js: even boring things keep getting better (even if slow).</p>
<ul>
<li>VHDL updated with PSL keywords and uses more consistent styling.</li>
<li>Nested C-style comments no longer break highlighting in many languages.</li>
<li>JavaScript updated with <code>=&gt;</code> functions, highlighted object attributes and<br>parsing within template string substitution blocks (<code>${...}</code>).</li>
<li>Fixed another corner case with self-closing <code>&lt;tag/&gt;</code> in JSX.</li>
<li>Added <code>HEALTHCHECK</code> directive in Docker.</li>
<li>Delphi updated with new Free Pascal keywords.</li>
<li>Fixed digit separator parsing in C++.</li>
<li>C# updated with new keywords and fixed to allow multiple identifiers within<br>generics <code>&lt;...&gt;</code>.</li>
<li>Fixed another slow regex in Less.</li>
</ul>
<h2 id="Version-9-6-0"><a href="#Version-9-6-0" class="headerlink" title="Version 9.6.0"></a>Version 9.6.0</h2><p>New languages:</p>
<ul>
<li><em>ABNF</em> and <em>EBNF</em> by <a href="https://github.com/mckibbenta">Alex McKibben</a></li>
<li><em>Awk</em> by <a href="https://github.com/matthewbdaly">Matthew Daly</a></li>
<li><em>SubUnit</em> by <a href="https://github.com/ligurio">Sergey Bronnikov</a></li>
</ul>
<p>New styles:</p>
<ul>
<li><em>Atom One</em> in both Dark and Light variants  by <a href="https://github.com/danielgamage">Daniel Gamage</a></li>
</ul>
<p>Plus, a few smaller updates for <em>Lasso</em>, <em>Elixir</em>, <em>C++</em> and <em>SQL</em>.</p>
<h2 id="Version-9-5-0"><a href="#Version-9-5-0" class="headerlink" title="Version 9.5.0"></a>Version 9.5.0</h2><p>New languages:</p>
<ul>
<li><em>Excel</em> by <a href="https://github.com/OiCMudkips">Victor Zhou</a></li>
<li><em>Linden Scripting Language</em> by <a href="https://github.com/buildersbrewery">Builder’s Brewery</a></li>
<li><em>TAP</em> (Test Anything Protocol) by <a href="https://github.com/ligurio">Sergey Bronnikov</a></li>
<li><em>Pony</em> by <a href="https://github.com/jemc">Joe Eli McIlvain</a></li>
<li><em>Coq</em> by <a href="https://github.com/boyers">Stephan Boyer</a></li>
<li><em>dsconfig</em> and <em>LDIF</em> by <a href="https://github.com/braveulysses">Jacob Childress</a></li>
</ul>
<p>New styles:</p>
<ul>
<li><em>Ocean Dark</em> by <a href="https://github.com/gavsiu">Gavin Siu</a></li>
</ul>
<p>Notable changes:</p>
<ul>
<li><a href="https://github.com/1ec5">Minh Nguyễn</a> added more built-ins to Objective C.</li>
<li><a href="https://github.com/sourrust">Jeremy Hull</a> fixed corner cases in C++ preprocessor directives and Diff<br>comments.</li>
<li><a href="https://github.com/OiCMudkips">Victor Zhou</a> added support for digit separators in C++ numbers.</li>
</ul>
<h2 id="Version-9-4-0"><a href="#Version-9-4-0" class="headerlink" title="Version 9.4.0"></a>Version 9.4.0</h2><p>New languages:</p>
<ul>
<li><em>PureBASIC</em> by <a href="https://github.com/tajmone">Tristano Ajmone</a></li>
<li><em>BNF</em> by <a href="https://github.com/Sannis">Oleg Efimov</a></li>
<li><em>Ada</em> by <a href="https://github.com/captain-hanuta">Lars Schulna</a></li>
</ul>
<p>New styles:</p>
<ul>
<li><em>PureBASIC</em> by <a href="https://github.com/tajmone">Tristano Ajmone</a></li>
</ul>
<p>Improvements to existing languages and styles:</p>
<ul>
<li>We now highlight function declarations in Go.</li>
<li><a href="https://github.com/temp-impl">Taisuke Fujimoto</a> contributed very convoluted rules for raw and<br>interpolated strings in C#.</li>
<li><a href="https://github.com/BooneJS">Boone Severson</a> updated Verilog to comply with IEEE 1800-2012<br>SystemVerilog.</li>
<li><a href="https://github.com/OiCMudkips">Victor Zhou</a> improved rules for comments and strings in PowerShell files.</li>
<li><a href="https://github.com/jvoigtlaender">Janis Voigtländer</a> updated the definition of Elm to version 0.17 of the<br>languages. Elm is now featured on the front page of <a href="https://highlightjs.org">https://highlightjs.org</a>.</li>
<li>Special variable <code>$this</code> is highlighted as a keyword in PHP.</li>
<li><code>usize</code> and <code>isize</code> are now highlighted in Rust.</li>
<li>Fixed labels and directives in x86 assembler.</li>
</ul>
<h2 id="Version-9-3-0"><a href="#Version-9-3-0" class="headerlink" title="Version 9.3.0"></a>Version 9.3.0</h2><p>New languages:</p>
<ul>
<li><em>Tagger Script</em> by <a href="https://github.com/phw">Philipp Wolfer</a></li>
<li><em>MoonScript</em> by <a href="https://github.com/billyquith">Billy Quith</a></li>
</ul>
<p>New styles:</p>
<ul>
<li><em>xt256</em> by <a href="https://github.com/initbar">Herbert Shin</a></li>
</ul>
<p>Improvements to existing languages and styles:</p>
<ul>
<li>More robust handling of unquoted HTML tag attributes</li>
<li>Relevance tuning for QML which was unnecessary eager at seizing other<br>languages’ code</li>
<li>Improve GAMS language parsing</li>
<li>Fixed a bunch of bugs around selectors in Less</li>
<li>Kotlin’s got a new definition for annotations, updated keywords and other<br>minor improvements</li>
<li>Added <code>move</code> to Rust keywords</li>
<li>Markdown now recognizes ```-fenced code blocks</li>
<li>Improved detection of function declarations in C++ and C#</li>
</ul>
<h2 id="Version-9-2-0"><a href="#Version-9-2-0" class="headerlink" title="Version 9.2.0"></a>Version 9.2.0</h2><p>New languages:</p>
<ul>
<li><em>QML</em> by <a href="https://github.com/jf990">John Foster</a></li>
<li><em>HTMLBars</em> by <a href="https://github.com/lastobelus">Michael Johnston</a></li>
<li><em>CSP</em> by <a href="https://github.com/oxdef">Taras</a></li>
<li><em>Maxima</em> by <a href="https://github.com/robert-dodier">Robert Dodier</a></li>
</ul>
<p>New styles:</p>
<ul>
<li><em>Gruvbox</em> by <a href="https://github.com/Qeole">Qeole</a></li>
<li><em>Dracula</em> by <a href="https://github.com/dciccale">Denis Ciccale</a></li>
</ul>
<p>Improvements to existing languages and styles:</p>
<ul>
<li>We now correctly handle JSX with arbitrary node tree depth.</li>
<li>Argument list for <code>(lambda)</code> in Scheme is no longer highlighted as a function<br>call.</li>
<li>Stylus syntax doesn’t break on valid CSS.</li>
<li>More correct handling of comments and strings and other improvements for<br>VimScript.</li>
<li>More subtle work on the default style.</li>
<li>We now use anonymous modules for AMD.</li>
<li><code>macro_rules!</code> is now recognized as a built-in in Rust.</li>
</ul>
<h2 id="Version-9-1-0"><a href="#Version-9-1-0" class="headerlink" title="Version 9.1.0"></a>Version 9.1.0</h2><p>New languages:</p>
<ul>
<li><em>Stan</em> by <a href="http://brendanrocks.com">Brendan Rocks</a></li>
<li><em>BASIC</em> by <a href="https://github.com/raphnet">Raphaël Assénat</a></li>
<li><em>GAUSS</em> by <a href="https://github.com/matthewevans">Matt Evans</a></li>
<li><em>DTS</em> by <a href="https://github.com/mbr0wn">Martin Braun</a></li>
<li><em>Arduino</em> by <a href="https://github.com/smellai">Stefania Mellai</a></li>
</ul>
<p>New Styles:</p>
<ul>
<li><em>Arduino Light</em> by <a href="https://github.com/smellai">Stefania Mellai</a></li>
</ul>
<p>Improvements to existing languages and styles:</p>
<ul>
<li>Handle return type annotations in Python</li>
<li>Allow shebang headers in Javascript</li>
<li>Support strings in Rust meta</li>
<li>Recognize <code>struct</code> as a class-level definition in Rust</li>
<li>Recognize b-prefixed chars and strings in Rust</li>
<li>Better numbers handling in Verilog</li>
</ul>
<h2 id="Version-9-0-0"><a href="#Version-9-0-0" class="headerlink" title="Version 9.0.0"></a>Version 9.0.0</h2><p>The new major version brings a reworked styling system. Highlight.js now defines<br>a limited set of highlightable classes giving a consistent result across all the<br>styles and languages. You can read a more detailed explanation and background in<br>the <a href="https://github.com/isagalaev/highlight.js/issues/348">tracking issue</a> that started this long process back in May.</p>
<p>This change is backwards incompatible for those who uses highlight.js with a<br>custom stylesheet. The <a href="http://highlightjs.readthedocs.org/en/latest/style-guide.html">new style guide</a> explains how to write styles<br>in this new world.</p>
<p>Bundled themes have also suffered a significant amount of improvements and may<br>look different in places, but all the things now consistent and make more sense.<br>Among others, the Default style has got a refresh and will probably be tweaked<br>some more in next releases. Please do give your feedback in our<br><a href="https://github.com/isagalaev/highlight.js/issues">issue tracker</a>.</p>
<p>New languages in this release:</p>
<ul>
<li><em>Caché Object Script</em> by <a href="https://github.com/ZitRos">Nikita Savchenko</a></li>
<li><em>YAML</em> by <a href="https://github.com/zealot128">Stefan Wienert</a></li>
<li><em>MIPS Assembler</em> by <a href="https://github.com/Nebuleon">Nebuleon Fumika</a></li>
<li><em>HSP</em> by <a href="https://github.com/prince-0203">prince</a></li>
</ul>
<p>Improvements to existing languages and styles:</p>
<ul>
<li>ECMAScript 6 modules import now do not require closing semicolon.</li>
<li>ECMAScript 6 classes constructors now highlighted.</li>
<li>Template string support for Typescript, as for ECMAScript 6.</li>
<li>Scala case classes params highlight fixed.</li>
<li>Built-in names introduced in Julia v0.4 added by <a href="https://github.com/bicycle1885">Kenta Sato</a>.</li>
<li>Refreshed Default style.</li>
</ul>
<p>Other notable changes:</p>
<ul>
<li><a href="https://github.com/isagalaev/highlight.js#web-workers">Web workers support</a> added bu <a href="https://github.com/frigus02">Jan Kühle</a>.</li>
<li>We now have tests for compressed browser builds as well.</li>
<li>The building tool chain has been switched to node.js 4.x. and is now<br>shamelessly uses ES6 features all over the place, courtesy of <a href="https://github.com/sourrust">Jeremy Hull</a>.</li>
<li>License added to non-compressed browser build.</li>
</ul>
<h2 id="Version-8-9-1"><a href="#Version-8-9-1" class="headerlink" title="Version 8.9.1"></a>Version 8.9.1</h2><p>Some last-minute changes reverted due to strange bug with minified browser build:</p>
<ul>
<li>Scala case classes params highlight fixed</li>
<li>ECMAScript 6 modules import now do not require closing semicolon</li>
<li>ECMAScript 6 classes constructors now highlighted</li>
<li>Template string support for Typescript, as for ECMAScript 6</li>
<li>License added to not minified browser build</li>
</ul>
<h2 id="Version-8-9-0"><a href="#Version-8-9-0" class="headerlink" title="Version 8.9.0"></a>Version 8.9.0</h2><p>New languages:</p>
<ul>
<li><em>crmsh</em> by <a href="https://github.com/krig">Kristoffer Gronlund</a></li>
<li><em>SQF</em> by <a href="https://github.com/senevoldsen90">Soren Enevoldsen</a></li>
</ul>
<p>Notable fixes and improvements to existing languages:</p>
<ul>
<li>Added <code>abstract</code> and <code>namespace</code> keywords to TypeScript by <a href="https://github.com/DanielRosenwasser">Daniel Rosenwasser</a></li>
<li>Added <code>label</code> support to Dockerfile by <a href="https://github.com/abtris">Ladislav Prskavec</a></li>
<li>Crystal highlighting improved by <a href="https://github.com/MakeNowJust">Tsuyusato Kitsune</a></li>
<li>Missing Swift keywords added by <a href="https://github.com/natecook1000">Nate Cook</a></li>
<li>Improve detection of C block comments</li>
<li><del>Scala case classes params highlight fixed</del></li>
<li><del>ECMAScript 6 modules import now do not require closing semicolon</del></li>
<li><del>ECMAScript 6 classes constructors now highlighted</del></li>
<li><del>Template string support for Typescript, as for ECMAScript 6</del></li>
</ul>
<p>Other notable changes:</p>
<ul>
<li><del>License added to not minified browser build</del></li>
</ul>
<h2 id="Version-8-8-0"><a href="#Version-8-8-0" class="headerlink" title="Version 8.8.0"></a>Version 8.8.0</h2><p>New languages:</p>
<ul>
<li><em>Golo</em> by <a href="https://github.com/k33g">Philippe Charrière</a></li>
<li><em>GAMS</em> by <a href="https://github.com/b-pos465">Stefan Bechert</a></li>
<li><em>IRPF90</em> by <a href="https://github.com/scemama">Anthony Scemama</a></li>
<li><em>Access logs</em> by <a href="https://github.com/Sannis">Oleg Efimov</a></li>
<li><em>Crystal</em> by <a href="https://github.com/MakeNowJust">Tsuyusato Kitsune</a></li>
</ul>
<p>Notable fixes and improvements to existing languages:</p>
<ul>
<li>JavaScript highlighting no longer fails with ES6 default parameters</li>
<li>Added keywords <code>async</code> and <code>await</code> to Python</li>
<li>PHP heredoc support improved</li>
<li>Allow preprocessor directives within C++ functions</li>
</ul>
<p>Other notable changes:</p>
<ul>
<li>Change versions to X.Y.Z SemVer-compatible format</li>
<li>Added ability to build all targets at once</li>
</ul>
<h2 id="Version-8-7"><a href="#Version-8-7" class="headerlink" title="Version 8.7"></a>Version 8.7</h2><p>New languages:</p>
<ul>
<li><em>Zephir</em> by <a href="https://github.com/Sannis">Oleg Efimov</a></li>
<li><em>Elm</em> by <a href="https://github.com/jvoigtlaender">Janis Voigtländer</a></li>
<li><em>XQuery</em> by <a href="https://github.com/dirkk">Dirk Kirsten</a></li>
<li><em>Mojolicious</em> by <a href="https://github.com/dotandimet">Dotan Dimet</a></li>
<li><em>AutoIt</em> by Manh Tuan from <a href="https://github.com/J2TeaM">J2TeaM</a></li>
<li><em>Toml</em> (ini extension) by <a href="https://github.com/GuillaumeGomez">Guillaume Gomez</a></li>
</ul>
<p>New styles:</p>
<ul>
<li><em>Hopscotch</em> by <a href="https://github.com/idleberg">Jan T. Sott</a></li>
<li><em>Grayscale</em> by <a href="https://github.com/simonmysun">MY Sun</a></li>
</ul>
<p>Notable fixes and improvements to existing languages:</p>
<ul>
<li>Fix encoding of images when copied over in certain builds</li>
<li>Fix incorrect highlighting of the word “bug” in comments</li>
<li>Treat decorators different from matrix multiplication in Python</li>
<li>Fix traits inheritance highlighting in Rust</li>
<li>Fix incorrect document</li>
<li>Oracle keywords added to SQL language definition by <a href="https://github.com/Vadimtro">Vadimtro</a></li>
<li>Postgres keywords added to SQL language definition by <a href="https://github.com/ghost">Benjamin Auder</a></li>
<li>Fix registers in x86asm being highlighted as a hex number</li>
<li>Fix highlighting for numbers with a leading decimal point</li>
<li>Correctly highlight numbers and strings inside of C/C++ macros</li>
<li>C/C++ functions now support pointer, reference, and move returns</li>
</ul>
<h2 id="Version-8-6"><a href="#Version-8-6" class="headerlink" title="Version 8.6"></a>Version 8.6</h2><p>New languages:</p>
<ul>
<li><em>C/AL</em> by <a href="https://github.com/kfuglsang">Kenneth Fuglsang</a></li>
<li><em>DNS zone file</em> by <a href="https://github.com/enko">Tim Schumacher</a></li>
<li><em>Ceylon</em> by <a href="https://github.com/lucaswerkmeister">Lucas Werkmeister</a></li>
<li><em>OpenSCAD</em> by <a href="https://github.com/pzl">Dan Panzarella</a></li>
<li><em>Inform7</em> by <a href="https://github.com/sequitur">Bruno Dias</a></li>
<li><em>armasm</em> by <a href="https://github.com/pzl">Dan Panzarella</a></li>
<li><em>TP</em> by <a href="https://github.com/unreal">Jay Strybis</a></li>
</ul>
<p>New styles:</p>
<ul>
<li><em>Atelier Cave</em>, <em>Atelier Estuary</em>,
<em>Atelier Plateau</em> and <em>Atelier Savanna</em> by <a href="https://github.com/atelierbram">Bram de Haan</a></li>
<li><em>Github Gist</em> by <a href="https://github.com/LouisBarranqueiro">Louis Barranqueiro</a></li>
</ul>
<p>Notable fixes and improvements to existing languages:</p>
<ul>
<li>Multi-line raw strings from C++11 are now supported</li>
<li>Fix class names with dashes in HAML</li>
<li>The <code>async</code> keyword from ES6/7 is now supported</li>
<li>TypeScript functions handle type and parameter complexity better</li>
<li>We unified phpdoc/javadoc/yardoc etc modes across all languages</li>
<li>CSS .class selectors relevance was dropped to prevent wrong language detection</li>
<li>Images is now included to CDN build</li>
<li>Release process is now automated</li>
</ul>
<h2 id="Version-8-5"><a href="#Version-8-5" class="headerlink" title="Version 8.5"></a>Version 8.5</h2><p>New languages:</p>
<ul>
<li><em>pf.conf</em> by <a href="https://github.com/oldlaptop">Peter Piwowarski</a></li>
<li><em>Julia</em> by <a href="https://github.com/bicycle1885">Kenta Sato</a></li>
<li><em>Prolog</em> by <a href="https://github.com/rla">Raivo Laanemets</a></li>
<li><em>Docker</em> by <a href="https://github.com/AlexisNo">Alexis Hénaut</a></li>
<li><em>Fortran</em> by <a href="https://github.com/scemama">Anthony Scemama</a> and <a href="https://github.com/TApplencourt">Thomas Applencourt</a></li>
<li><em>Kotlin</em> by <a href="https://github.com/cy6erGn0m">Sergey Mashkov</a></li>
</ul>
<p>New styles:</p>
<ul>
<li><em>Agate</em> by <a href="https://github.com/tovic">Taufik Nurrohman</a></li>
<li><em>Darcula</em> by [JetBrains][]</li>
<li><em>Atelier Sulphurpool</em> by <a href="https://github.com/atelierbram">Bram de Haan</a></li>
<li><em>Android Studio</em> by <a href="https://github.com/kanytu">Pedro Oliveira</a></li>
</ul>
<p>Notable fixes and improvements to existing languages:</p>
<ul>
<li>ES6 features in JavaScript are better supported now by <a href="https://github.com/Justineo">Gu Yiling</a>.</li>
<li>Swift now recognizes body-less method definitions.</li>
<li>Single expression functions <code>def foo, do: ...</code> now work in Elixir.</li>
<li>More uniform detection of built-in classes in Objective C.</li>
<li>Fixes for number literals and processor directives in Rust.</li>
<li>HTML <code>&lt;script&gt;</code> tag now allows any language, not just JavaScript.</li>
<li>Multi-line comments are supported now in MatLab.</li>
</ul>
<h2 id="Version-8-4"><a href="#Version-8-4" class="headerlink" title="Version 8.4"></a>Version 8.4</h2><p>We’ve got the new <a href="https://highlightjs.org/static/demo/">demo page</a>! The obvious new feature is the new look, but<br>apart from that it’s got smarter: by presenting languages in groups it avoids<br>running 10000 highlighting attempts after first load which was slowing it down<br>and giving bad overall impression. It is now also being generated from test<br>code snippets so the authors of new languages don’t have to update both tests<br>and the demo page with the same thing.</p>
<p>Other notable changes:</p>
<ul>
<li>The <code>template_comment</code> class is gone in favor of the more general <code>comment</code>.</li>
<li>Number parsing unified and improved across languages.</li>
<li>C++, Java and C# now use unified grammar to highlight titles in<br>function/method definitions.</li>
<li>The browser build is now usable as an AMD module, there’s no separate build<br>target for that anymore.</li>
<li>OCaml has got a <a href="https://github.com/isagalaev/highlight.js/pull/608#issue-46190207">comprehensive overhaul</a> by <a href="https://github.com/polazarus">Mickaël Delahaye</a>.</li>
<li>Clojure’s data structures and literals are now highlighted outside of lists<br>and we can now highlight Clojure’s REPL sessions.</li>
</ul>
<p>New languages:</p>
<ul>
<li><em>AspectJ</em> by <a href="https://github.com/ozlerhakan">Hakan Özler</a></li>
<li><em>STEP Part 21</em> by <a href="https://github.com/adamjcook">Adam Joseph Cook</a></li>
<li><em>SML</em> derived by <a href="https://github.com/edalorzo">Edwin Dalorzo</a> from OCaml definition</li>
<li><em>Mercury</em> by <a href="https://github.com/mucaho">mucaho</a></li>
<li><em>Smali</em> by <a href="https://github.com/titze">Dennis Titze</a></li>
<li><em>Verilog</em> by <a href="https://github.com/craftyjon">Jon Evans</a></li>
<li><em>Stata</em> by <a href="https://github.com/bquistorff">Brian Quistorff</a></li>
</ul>
<h2 id="Version-8-3"><a href="#Version-8-3" class="headerlink" title="Version 8.3"></a>Version 8.3</h2><p>We streamlined our tool chain, it is now based entirely on node.js instead of<br>being a mix of node.js, Python and Java. The build script options and arguments<br>remained the same, and we’ve noted all the changes in the <a href="http://highlightjs.readthedocs.org/en/latest/building-testing.html">documentation</a>.
Apart from reducing complexity, the new build script is also faster from not<br>having to start Java machine repeatedly. The credits for the work go to <a href="https://github.com/sourrust">Jeremy<br>Hull</a>.</p>
<p>Some notable fixes:</p>
<ul>
<li>PHP and JavaScript mixed in HTML now live happily with each other.</li>
<li>JavaScript regexes now understand ES6 flags “u” and “y”.</li>
<li><code>throw</code> keyword is no longer detected as a method name in Java.</li>
<li>Fixed parsing of numbers and symbols in Clojure thanks to <a href="https://twitter.com/IvanKleshnin/status/514041599484231680">input from Ivan<br>Kleshnin</a>.</li>
</ul>
<p>New languages in this release:</p>
<ul>
<li><em>Less</em> by <a href="https://github.com/seven-phases-max">Max Mikhailov</a></li>
<li><em>Stylus</em> by <a href="https://github.com/scien">Bryant Williams</a></li>
<li><em>Tcl</em> by <a href="https://github.com/Nindaleth">Radek Liska</a></li>
<li><em>Puppet</em> by <a href="https://github.com/Moliholy">Jose Molina Colmenero</a></li>
<li><em>Processing</em> by <a href="https://github.com/paluka">Erik Paluka</a></li>
<li><em>Twig</em> templates by <a href="https://github.com/lukeholder">Luke Holder</a></li>
<li><em>PowerShell</em> by <a href="https://github.com/drmohundro">David Mohundro</a>, based on <a href="https://github.com/OctopusDeploy/Library/blob/master/app/shared/presentation/highlighting/powershell.js">the work of Nicholas Blumhardt</a></li>
<li><em>XL</em> by <a href="https://github.com/c3d">Christophe de Dinechin</a></li>
<li><em>LiveScript</em> by <a href="https://github.com/Daiz-">Taneli Vatanen</a> and <a href="https://github.com/sevvie">Jen Evers-Corvina</a></li>
<li><em>ERB</em> (Ruby in HTML) by <a href="https://github.com/lucasmazza">Lucas Mazza</a></li>
<li><em>Roboconf</em> by <a href="https://github.com/vincent-zurczak">Vincent Zurczak</a></li>
</ul>
<h2 id="Version-8-2"><a href="#Version-8-2" class="headerlink" title="Version 8.2"></a>Version 8.2</h2><p>We’ve finally got <a href="https://github.com/isagalaev/highlight.js/tree/master/test">real tests</a> and <a href="https://travis-ci.org/isagalaev/highlight.js">continuous testing on Travis</a><br>thanks to <a href="https://github.com/sourrust">Jeremy Hull</a> and <a href="https://github.com/chriseidhof">Chris Eidhof</a>. The tests designed to cover<br>everything: language detection, correct parsing of individual language features<br>and various special cases. This is a very important change that gives us<br>confidence in extending language definitions and refactoring library core.</p>
<p>We’re going to redesign the old <a href="https://highlightjs.org/static/test.html">demo/test suite</a> into an interactive<br>demo web app. If you’re confident front-end developer or designer and want to<br>help us with it, drop a comment into <a href="https://github.com/isagalaev/highlight.js/issues/542">the issue</a> on GitHub.</p>
<p>As usually there’s a handful of new languages in this release:</p>
<ul>
<li><em>Groovy</em> by <a href="https://github.com/glaforge">Guillaume Laforge</a></li>
<li><em>Dart</em> by <a href="https://github.com/dikmax">Maxim Dikun</a></li>
<li><em>Dust</em> by <a href="https://github.com/bfui">Michael Allen</a></li>
<li><em>Scheme</em> by <a href="https://github.com/jpverkamp">JP Verkamp</a></li>
<li><em>G-Code</em> by <a href="https://github.com/adamjcook">Adam Joseph Cook</a></li>
<li><em>Q</em> from Kx Systems by <a href="https://github.com/sv">Sergey Vidyuk</a></li>
</ul>
<p>Other improvements:</p>
<ul>
<li><a href="https://github.com/non">Erik Osheim</a> heavily reworked Scala definitions making it richer.</li>
<li><a href="https://github.com/lucasmazza">Lucas Mazza</a> fixed Ruby hashes highlighting</li>
<li>Lisp variants (Lisp, Clojure and Scheme) are unified in regard to naming<br>the first symbol in parentheses: it’s “keyword” in general case and also<br>“built_in” for built-in functions in Clojure and Scheme.</li>
</ul>
<h2 id="Version-8-1"><a href="#Version-8-1" class="headerlink" title="Version 8.1"></a>Version 8.1</h2><p>New languages:</p>
<ul>
<li><em>Gherkin</em> by <a href="https://github.com/pikesley">Sam Pikesley</a></li>
<li><em>Elixir</em> by <a href="https://github.com/knewter">Josh Adams</a></li>
<li><em>NSIS</em> by <a href="https://github.com/idleberg">Jan T. Sott</a></li>
<li><em>VIM script</em> by <a href="https://github.com/harttle">Jun Yang</a></li>
<li><em>Protocol Buffers</em> by <a href="https://github.com/dtao">Dan Tao</a></li>
<li><em>Nix</em> by <a href="https://github.com/iElectric">Domen Kožar</a></li>
<li><em>x86asm</em> by <a href="https://github.com/innocenat">innocenat</a></li>
<li><em>Cap’n Proto</em> and <em>Thrift</em> by <a href="https://github.com/Sannis">Oleg Efimov</a></li>
<li><em>Monkey</em> by <a href="https://github.com/devolonter">Arthur Bikmullin</a></li>
<li><em>TypeScript</em> by <a href="https://github.com/panuhorsmalahti">Panu Horsmalahti</a></li>
<li><em>Nimrod</em> by <a href="https://github.com/flaviut">Flaviu Tamas</a></li>
<li><em>Gradle</em> by <a href="https://github.com/chester1000">Damian Mee</a></li>
<li><em>Haxe</em> by <a href="http://christopher.kaster.ws">Christopher Kaster</a></li>
<li><em>Swift</em> by <a href="https://github.com/chriseidhof">Chris Eidhof</a> and <a href="https://github.com/natecook1000">Nate Cook</a></li>
</ul>
<p>New styles:</p>
<ul>
<li><em>Kimbie</em>, light and dark variants by <a href="https://github.com/idleberg">Jan T. Sott</a></li>
<li><em>Color brewer</em> by <a href="https://github.com/fabriciotav">Fabrício Tavares de Oliveira</a></li>
<li><em>Codepen.io embed</em> by <a href="https://github.com/ourmaninamsterdam">Justin Perry</a></li>
<li><em>Hybrid</em> by <a href="https://github.com/nicwest">Nic West</a></li>
</ul>
<p>Other improvements:</p>
<ul>
<li>The README is heavily reworked and brought up to date by <a href="https://github.com/sourrust">Jeremy Hull</a>.</li>
<li>Added <a href="http://highlightjs.readthedocs.org/en/latest/api.html#listlanguages"><code>listLanguages()</code></a> method in the API.</li>
<li>Improved C/C++/C# detection.</li>
<li>Added a bunch of new language aliases, documented the existing ones. Thanks to<br><a href="https://github.com/sindresorhus">Sindre Sorhus</a> for background research.</li>
<li>Added phrasal English words to boost relevance in comments.</li>
<li>Many improvements to SQL definition made by <a href="https://github.com/auge8472">Heiko August</a>,
<a href="https://github.com/neor-ru">Nikolay Lisienko</a> and <a href="https://github.com/Burstaholic">Travis Odom</a>.</li>
<li>The shorter <code>lang-</code> prefix for language names in HTML classes supported<br>alongside <code>language-</code>. Thanks to <a href="https://github.com/jenius">Jeff Escalante</a>.</li>
<li>Ruby’s got support for interactive console sessions. Thanks to<br><a href="https://github.com/phurni">Pascal Hurni</a>.</li>
<li>Added built-in functions for R language. Thanks to <a href="https://github.com/unikum">Artem A. Klevtsov</a>.</li>
<li>Rust’s got definition for lifetime parameters and improved string syntax.<br>Thanks to <a href="https://github.com/shmatov">Roman Shmatov</a>.</li>
<li>Various improvements to Objective-C definition by <a href="https://github.com/mdiep">Matt Diephouse</a>.</li>
<li>Fixed highlighting of generics in Java.</li>
</ul>
<h2 id="Version-8-0"><a href="#Version-8-0" class="headerlink" title="Version 8.0"></a>Version 8.0</h2><p>This new major release is quite a big overhaul bringing both new features and<br>some backwards incompatible changes. However, chances are that the majority of<br>users won’t be affected by the latter: the basic scenario described in the<br>README is left intact.</p>
<p>Here’s what did change in an incompatible way:</p>
<ul>
<li><p>We’re now prefixing all classes located in <a href="http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html">CSS classes reference</a> with<br><code>hljs-</code>, by default, because some class names would collide with other<br>people’s stylesheets. If you were using an older version, you might still want<br>the previous behavior, but still want to upgrade. To suppress this new<br>behavior, you would initialize like so:</p>
<pre><code class="html"><span class="tag">&lt;<span class="name">script</span> <span class="attr">type</span>=<span class="string">"text/javascript"</span>&gt;</span>
<span class="javascript">  hljs.configure({<span class="attr">classPrefix</span>: <span class="string">''</span>});</span>
  hljs.initHighlightingOnLoad();
<span class="tag">&lt;/<span class="name">script</span>&gt;</span></code></pre>
</li>
<li><p><code>tabReplace</code> and <code>useBR</code> that were used in different places are also unified<br>into the global options object and are to be set using <code>configure(options)</code>.
This function is documented in our <a href="http://highlightjs.readthedocs.org/en/latest/api.html">API docs</a>. Also note that these<br>parameters are gone from <code>highlightBlock</code> and <code>fixMarkup</code> which are now also<br>rely on <code>configure</code>.</p>
</li>
<li><p>We removed public-facing (though undocumented) object <code>hljs.LANGUAGES</code> which<br>was used to register languages with the library in favor of two new methods:<br><code>registerLanguage</code> and <code>getLanguage</code>. Both are documented in our <a href="http://highlightjs.readthedocs.org/en/latest/api.html">API docs</a>.</p>
</li>
<li><p>Result returned from <code>highlight</code> and <code>highlightAuto</code> no longer contains two<br>separate attributes contributing to relevance score, <code>relevance</code> and<br><code>keyword_count</code>. They are now unified in <code>relevance</code>.</p>
</li>
</ul>
<p>Another technically compatible change that nonetheless might need attention:</p>
<ul>
<li>The structure of the NPM package was refactored, so if you had installed it<br>locally, you’ll have to update your paths. The usual <code>require(&#39;highlight.js&#39;)</code><br>works as before. This is contributed by <a href="https://github.com/dimsmol">Dmitry Smolin</a>.</li>
</ul>
<p>New features:</p>
<ul>
<li><p>Languages now can be recognized by multiple names like “js” for JavaScript or<br>“html” for, well, HTML (which earlier insisted on calling it “xml”). These<br>aliases can be specified in the class attribute of the code container in your<br>HTML as well as in various API calls. For now there are only a few very common<br>aliases but we’ll expand it in the future. All of them are listed in the<br><a href="http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html">class reference</a>.</p>
</li>
<li><p>Language detection can now be restricted to a subset of languages relevant in<br>a given context — a web page or even a single highlighting call. This is<br>especially useful for node.js build that includes all the known languages.<br>Another example is a StackOverflow-style site where users specify languages<br>as tags rather than in the markdown-formatted code snippets. This is<br>documented in the <a href="http://highlightjs.readthedocs.org/en/latest/api.html">API reference</a> (see methods <code>highlightAuto</code> and<br><code>configure</code>).</p>
</li>
<li><p>Language definition syntax streamlined with <a href="https://groups.google.com/d/topic/highlightjs/VoGC9-1p5vk/discussion">variants</a> and<br><a href="https://github.com/isagalaev/highlight.js/commit/6c7fdea002eb3949577a85b3f7930137c7c3038d">beginKeywords</a>.</p>
</li>
</ul>
<p>New languages and styles:</p>
<ul>
<li><em>Oxygene</em> by <a href="https://github.com/carlokok">Carlo Kok</a></li>
<li><em>Mathematica</em> by <a href="https://github.com/dkvasnicka">Daniel Kvasnička</a></li>
<li><em>Autohotkey</em> by <a href="https://github.com/dlimpid">Seongwon Lee</a></li>
<li><em>Atelier</em> family of styles in 10 variants by <a href="https://github.com/atelierbram">Bram de Haan</a></li>
<li><em>Paraíso</em> styles by <a href="https://github.com/idleberg">Jan T. Sott</a></li>
</ul>
<p>Miscellaneous improvements:</p>
<ul>
<li>Highlighting <code>=&gt;</code> prompts in Clojure.</li>
<li><a href="https://github.com/sourrust">Jeremy Hull</a> fixed a lot of styles for consistency.</li>
<li>Finally, highlighting PHP and HTML <a href="https://twitter.com/highlightjs/status/408890903017689088">mixed in peculiar ways</a>.</li>
<li>Objective C and C# now properly highlight titles in method definition.</li>
<li>Big overhaul of relevance counting for a number of languages. Please do report<br>bugs about mis-detection of non-trivial code snippets!</li>
</ul>
<h2 id="Version-7-5"><a href="#Version-7-5" class="headerlink" title="Version 7.5"></a>Version 7.5</h2><p>A catch-up release dealing with some of the accumulated contributions. This one<br>is probably will be the last before the 8.0 which will be slightly backwards<br>incompatible regarding some advanced use-cases.</p>
<p>One outstanding change in this version is the addition of 6 languages to the<br><a href="http://highlightjs.org/download/">hosted script</a>: Markdown, ObjectiveC, CoffeeScript, Apache, Nginx and<br>Makefile. It now weighs about 6K more but we’re going to keep it under 30K.</p>
<p>New languages:</p>
<ul>
<li>OCaml by <a href="https://github.com/mehdid">Mehdi Dogguy</a> and <a href="https://github.com/nbraud">Nicolas Braud-Santoni</a></li>
<li><a href="http://livecode.com/developers/guides/server/">LiveCode Server</a> by <a href="https://github.com/revig">Ralf Bitter</a></li>
<li>Scilab by <a href="https://github.com/sylvestre">Sylvestre Ledru</a></li>
<li>basic support for Makefile by <a href="https://github.com/isagalaev">Ivan Sagalaev</a></li>
</ul>
<p>Improvements:</p>
<ul>
<li>Ruby’s got support for characters like <code>?A</code>, <code>?1</code>, <code>?\012</code> etc. and <code>%r{..}</code><br>regexps.</li>
<li>Clojure now allows a function call in the beginning of s-expressions<br><code>(($filter &quot;myCount&quot;) (arr 1 2 3 4 5))</code>.</li>
<li>Haskell’s got new keywords and now recognizes more things like pragmas,<br>preprocessors, modules, containers, FFIs etc. Thanks to <a href="https://github.com/treep">Zena Treep</a><br>for the implementation and to <a href="https://github.com/sourrust">Jeremy Hull</a> for guiding it.</li>
<li>Miscellaneous fixes in PHP, Brainfuck, SCSS, Asciidoc, CMake, Python and F#.</li>
</ul>
<h2 id="New-core-developers"><a href="#New-core-developers" class="headerlink" title="New core developers"></a>New core developers</h2><p>The latest long period of almost complete inactivity in the project coincided<br>with growing interest to it led to a decision that now seems completely obvious:<br>we need more core developers.</p>
<p>So without further ado let me welcome to the core team two long-time<br>contributors: <a href="https://github.com/sourrust">Jeremy Hull</a> and <a href="https://github.com/Sannis">Oleg<br>Efimov</a>.</p>
<p>Hope now we’ll be able to work through stuff faster!</p>
<p>P.S. The historical commit is <a href="https://github.com/isagalaev/highlight.js/commit/f3056941bda56d2b72276b97bc0dd5f230f2473f">here</a> for the record.</p>
<h2 id="Version-7-4"><a href="#Version-7-4" class="headerlink" title="Version 7.4"></a>Version 7.4</h2><p>This long overdue version is a snapshot of the current source tree with all the<br>changes that happened during the past year. Sorry for taking so long!</p>
<p>Along with the changes in code highlight.js has finally got its new home at<br><a href="http://highlightjs.org/">http://highlightjs.org/</a>, moving from its cradle on Software Maniacs which it<br>outgrew a long time ago. Be sure to report any bugs about the site to<br><a href="mailto:info@highlightjs.org">mailto:info@highlightjs.org</a>.</p>
<p>On to what’s new…</p>
<p>New languages:</p>
<ul>
<li>Handlebars templates by <a href="https://github.com/eviltrout">Robin Ward</a></li>
<li>Oracle Rules Language by <a href="https://github.com/jayce7">Jason Jacobson</a></li>
<li>F# by <a href="https://github.com/follesoe">Joans Follesø</a></li>
<li>AsciiDoc and Haml by <a href="https://github.com/mojavelinux">Dan Allen</a></li>
<li>Lasso by <a href="https://github.com/EricFromCanada">Eric Knibbe</a></li>
<li>SCSS by <a href="https://github.com/kemch">Kurt Emch</a></li>
<li>VB.NET by <a href="https://github.com/rschiang">Poren Chiang</a></li>
<li>Mizar by <a href="https://github.com/kelleyvanevert">Kelley van Evert</a></li>
</ul>
<p>New style themes:</p>
<ul>
<li>Monokai Sublime by <a href="http://nn.mit-license.org/">noformnocontent</a></li>
<li>Railscasts by <a href="https://github.com/visoft">Damien White</a></li>
<li>Obsidian by <a href="https://github.com/ioncreature">Alexander Marenin</a></li>
<li>Docco by <a href="https://github.com/thingsinjars">Simon Madine</a></li>
<li>Mono Blue by <a href="https://github.com/isagalaev">Ivan Sagalaev</a> (uses a single color hue for everything)</li>
<li>Foundation by <a href="https://github.com/mojavelinux">Dan Allen</a></li>
</ul>
<p>Other notable changes:</p>
<ul>
<li>Corrected many corner cases in CSS.</li>
<li>Dropped Python 2 version of the build tool.</li>
<li>Implemented building for the AMD format.</li>
<li>Updated Rust keywords (thanks to <a href="https://github.com/dmedvinsky">Dmitry Medvinsky</a>).</li>
<li>Literal regexes can now be used in language definitions.</li>
<li>CoffeeScript highlighting is now significantly more robust and rich due to<br>input from <a href="https://github.com/abe33">Cédric Néhémie</a>.</li>
</ul>
<h2 id="Version-7-3"><a href="#Version-7-3" class="headerlink" title="Version 7.3"></a>Version 7.3</h2><ul>
<li><p>Since this version highlight.js no longer works in IE version 8 and older.<br>It’s made it possible to reduce the library size and dramatically improve code<br>readability and made it easier to maintain. Time to go forward!</p>
</li>
<li><p>New languages: AppleScript (by <a href="https://github.com/nathan11g">Nathan Grigg</a> and <a href="https://github.com/drdrang">Dr. Drang</a>) and<br>Brainfuck (by <a href="https://github.com/bolknote">Evgeny Stepanischev</a>).</p>
</li>
<li><p>Improvements to existing languages:</p>
<ul>
<li>interpreter prompt in Python (<code>&gt;&gt;&gt;</code> and <code>...</code>)</li>
<li>@-properties and classes in CoffeeScript</li>
<li>E4X in JavaScript (by <a href="https://github.com/Sannis">Oleg Efimov</a>)</li>
<li>new keywords in Perl (by <a href="https://github.com/kimmel">Kirk Kimmel</a>)</li>
<li>big Ruby syntax update (by <a href="https://github.com/vast">Vasily Polovnyov</a>)</li>
<li>small fixes in Bash</li>
</ul>
</li>
<li><p>Also Oleg Efimov did a great job of moving all the docs for language and style<br>developers and contributors from the old wiki under the source code in the<br>“docs” directory. Now these docs are nicely presented at<br><a href="http://highlightjs.readthedocs.org/">http://highlightjs.readthedocs.org/</a>.</p>
</li>
</ul>
<h2 id="Version-7-2"><a href="#Version-7-2" class="headerlink" title="Version 7.2"></a>Version 7.2</h2><p>A regular bug-fix release without any significant new features. Enjoy!</p>
<h2 id="Version-7-1"><a href="#Version-7-1" class="headerlink" title="Version 7.1"></a>Version 7.1</h2><p>A Summer crop:</p>
<ul>
<li><a href="https://github.com/mfornos">Marc Fornos</a> made the definition for Clojure along with the matching<br>style Rainbow (which, of course, works for other languages too).</li>
<li>CoffeeScript support continues to improve getting support for regular<br>expressions.</li>
<li>Yoshihide Jimbo ported to highlight.js <a href="http://jmblog.github.com/color-themes-for-highlightjs/">five Tomorrow styles</a> from the<br><a href="https://github.com/ChrisKempson/Tomorrow-Theme">project by Chris Kempson</a>.</li>
<li>Thanks to <a href="https://github.com/caseman">Casey Duncun</a> the library can now be built in the popular<br><a href="http://requirejs.org/docs/whyamd.html">AMD format</a>.</li>
<li>And last but not least, we’ve got a fair number of correctness and consistency<br>fixes, including a pretty significant refactoring of Ruby.</li>
</ul>
<h2 id="Version-7-0"><a href="#Version-7-0" class="headerlink" title="Version 7.0"></a>Version 7.0</h2><p>The reason for the new major version update is a global change of keyword syntax<br>which resulted in the library getting smaller once again. For example, the<br>hosted build is 2K less than at the previous version while supporting two new<br>languages.</p>
<p>Notable changes:</p>
<ul>
<li><p>The library now works not only in a browser but also with <a href="http://nodejs.org/">node.js</a>. It is<br>installable with <code>npm install highlight.js</code>. <a href="http://softwaremaniacs.org/wiki/doku.php/highlight.js:api">API</a> docs are available on our<br>wiki.</p>
</li>
<li><p>The new unique feature (apparently) among syntax highlighters is highlighting<br><em>HTTP</em> headers and an arbitrary language in the request body. The most useful<br>languages here are <em>XML</em> and <em>JSON</em> both of which highlight.js does support.<br>Here’s <a href="http://softwaremaniacs.org/blog/2012/05/10/http-and-json-in-highlight-js/en/">the detailed post</a> about the feature.</p>
</li>
<li><p>Two new style themes: a dark “south” *<a href="http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html">Pojoaque</a>* by Jason Tate and an<br>emulation of<em>XCode</em> IDE by <a href="https://github.com/angelolloqui">Angel Olloqui</a>.</p>
</li>
<li><p>Three new languages: <em>D</em> by <a href="https://github.com/raleksandar">Aleksandar Ružičić</a>, <em>R</em> by <a href="https://github.com/jcheng5">Joe Cheng</a><br>and <em>GLSL</em> by <a href="https://github.com/tikhomirov">Sergey Tikhomirov</a>.</p>
</li>
<li><p><em>Nginx</em> syntax has become a million times smaller and more universal thanks to<br>remaking it in a more generic manner that doesn’t require listing all the<br>directives in the known universe.</p>
</li>
<li><p>Function titles are now highlighted in <em>PHP</em>.</p>
</li>
<li><p><em>Haskell</em> and <em>VHDL</em> were significantly reworked to be more rich and correct<br>by their respective maintainers <a href="https://github.com/sourrust">Jeremy Hull</a> and <a href="https://twitter.com/IvanKleshnin/status/514041599484231680">Igor Kalnitsky</a>.</p>
</li>
</ul>
<p>And last but not least, many bugs have been fixed around correctness and<br>language detection.</p>
<p>Overall highlight.js currently supports 51 languages and 20 style themes.</p>
<h2 id="Version-6-2"><a href="#Version-6-2" class="headerlink" title="Version 6.2"></a>Version 6.2</h2><p>A lot of things happened in highlight.js since the last version! We’ve got nine<br>new contributors, the discussion group came alive, and the main branch on GitHub<br>now counts more than 350 followers. Here are most significant results coming<br>from all this activity:</p>
<ul>
<li><p>5 (five!) new languages: Rust, ActionScript, CoffeeScript, MatLab and<br>experimental support for markdown. Thanks go to <a href="https://github.com/vlasovskikh">Andrey Vlasovskikh</a>,
<a href="https://github.com/myadzel">Alexander Myadzel</a>, <a href="https://github.com/dnagir">Dmytrii Nagirniak</a>, <a href="https://github.com/Sannis">Oleg Efimov</a>, <a href="https://github.com/btd">Denis<br>Bardadym</a> and <a href="https://github.com/jcheng5">John Crepezzi</a>.</p>
</li>
<li><p>2 new style themes: Monokai by <a href="http://grigio.org/">Luigi Maselli</a> and stylistic imitation of<br>another well-known highlighter Google Code Prettify by <a href="https://github.com/geekpanth3r">Aahan Krish</a>.</p>
</li>
<li><p>A vast number of <a href="https://github.com/isagalaev/highlight.js/commits/">correctness fixes and code refactorings</a>, mostly made<br>by <a href="https://github.com/Sannis">Oleg Efimov</a> and <a href="https://github.com/bolknote">Evgeny Stepanischev</a>.</p>
</li>
</ul>
<h2 id="Version-6-1-—-Solarized"><a href="#Version-6-1-—-Solarized" class="headerlink" title="Version 6.1 — Solarized"></a>Version 6.1 — Solarized</h2><p><a href="https://github.com/sourrust">Jeremy Hull</a> has implemented my dream feature — a port of <a href="http://ethanschoonover.com/solarized">Solarized</a><br>style theme famous for being based on the intricate color theory to achieve<br>correct contrast and color perception. It is now available for highlight.js in<br>both variants — light and dark.</p>
<p>This version also adds a new original style Arta. Its author pumbur maintains a<br><a href="https://github.com/pumbur/highlight.js">heavily modified fork of highlight.js</a> on GitHub.</p>
<h2 id="Version-6-0"><a href="#Version-6-0" class="headerlink" title="Version 6.0"></a>Version 6.0</h2><p>New major version of the highlighter has been built on a significantly<br>refactored syntax. Due to this it’s even smaller than the previous one while<br>supporting more languages!</p>
<p>New languages are:</p>
<ul>
<li>Haskell by <a href="https://github.com/sourrust">Jeremy Hull</a></li>
<li>Erlang in two varieties — module and REPL — made collectively by <a href="http://desh.su/">Nikolay<br>Zakharov</a>, <a href="https://github.com/arhibot">Dmitry Kovega</a> and <a href="https://github.com/ignatov">Sergey Ignatov</a></li>
<li>Objective C by <a href="https://github.com/vhbit">Valerii Hiora</a></li>
<li>Vala by <a href="https://github.com/antono">Antono Vasiljev</a></li>
<li>Go by <a href="https://github.com/steplg">Stephan Kountso</a></li>
</ul>
<p>Also this version is marginally faster and fixes a number of small long-standing<br>bugs.</p>
<p>Developer overview of the new language syntax is available in a <a href="http://softwaremaniacs.org/blog/2011/04/25/highlight-js-60-beta/en/">blog post about<br>recent beta release</a>.</p>
<p>P.S. New version is not yet available on a Yandex CDN, so for now you have to<br>download <a href="http://highlightjs.org/download/">your own copy</a>.</p>
<h2 id="Version-5-14"><a href="#Version-5-14" class="headerlink" title="Version 5.14"></a>Version 5.14</h2><p>Fixed bugs in HTML/XML detection and relevance introduced in previous<br>refactoring.</p>
<p>Also test.html now shows the second best result of language detection by<br>relevance.</p>
<h2 id="Version-5-13"><a href="#Version-5-13" class="headerlink" title="Version 5.13"></a>Version 5.13</h2><p>Past weekend began with a couple of simple additions for existing languages but<br>ended up in a big code refactoring bringing along nice improvements for language<br>developers.</p>
<h3 id="For-users"><a href="#For-users" class="headerlink" title="For users"></a>For users</h3><ul>
<li>Description of C++ has got new keywords from the upcoming <a href="http://ru.wikipedia.org/wiki/C%2B%2B0x">C++ 0x</a> standard.</li>
<li>Description of HTML has got new tags from <a href="http://en.wikipedia.org/wiki/HTML5">HTML 5</a>.</li>
<li>CSS-styles have been unified to use consistent padding and also have lost<br>pop-outs with names of detected languages.</li>
<li><a href="https://twitter.com/IvanKleshnin/status/514041599484231680">Igor Kalnitsky</a> has sent two new language descriptions: CMake &amp; VHDL.</li>
</ul>
<p>This makes total number of languages supported by highlight.js to reach 35.</p>
<p>Bug fixes:</p>
<ul>
<li>Custom classes on <code>&lt;pre&gt;</code> tags are not being overridden anymore</li>
<li>More correct highlighting of code blocks inside non-<code>&lt;pre&gt;</code> containers:<br>highlighter now doesn’t insist on replacing them with its own container and<br>just replaces the contents.</li>
<li>Small fixes in browser compatibility and heuristics.</li>
</ul>
<h3 id="For-developers"><a href="#For-developers" class="headerlink" title="For developers"></a>For developers</h3><p>The most significant change is the ability to include language submodes right<br>under <code>contains</code> instead of defining explicit named submodes in the main array:</p>
<pre><code>contains: [
  &apos;string&apos;,
  &apos;number&apos;,
  {begin: &apos;\\n&apos;, end: hljs.IMMEDIATE_RE}
]</code></pre><p>This is useful for auxiliary modes needed only in one place to define parsing.<br>Note that such modes often don’t have <code>className</code> and hence won’t generate a<br>separate <code>&lt;span&gt;</code> in the resulting markup. This is similar in effect to<br><code>noMarkup: true</code>. All existing languages have been refactored accordingly.</p>
<p>Test file test.html has at last become a real test. Now it not only puts the<br>detected language name under the code snippet but also tests if it matches the<br>expected one. Test summary is displayed right above all language snippets.</p>
<h2 id="CDN"><a href="#CDN" class="headerlink" title="CDN"></a>CDN</h2><p>Fine people at <a href="http://yandex.com/">Yandex</a> agreed to host highlight.js on their big fast servers.<br><a href="http://softwaremaniacs.org/soft/highlight/en/download/">Link up</a>!</p>
<h2 id="Version-5-10-—-“Paris”"><a href="#Version-5-10-—-“Paris”" class="headerlink" title="Version 5.10 — “Paris”."></a>Version 5.10 — “Paris”.</h2><p>Though I’m on a vacation in Paris, I decided to release a new version with a<br>couple of small fixes:</p>
<ul>
<li>Tomas Vitvar discovered that TAB replacement doesn’t always work when used<br>with custom markup in code</li>
<li>SQL parsing is even more rigid now and doesn’t step over SmallTalk in tests</li>
</ul>
<h2 id="Version-5-9"><a href="#Version-5-9" class="headerlink" title="Version 5.9"></a>Version 5.9</h2><p>A long-awaited version is finally released.</p>
<p>New languages:</p>
<ul>
<li>Andrew Fedorov made a definition for Lua</li>
<li>a long-time highlight.js contributor <a href="http://kung-fu-tzu.ru/">Peter Leonov</a> made a definition for<br>Nginx config</li>
<li><a href="http://fulc.ru/">Vladimir Moskva</a> made a definition for TeX</li>
</ul>
<p>Fixes for existing languages:</p>
<ul>
<li><a href="http://gnuu.org/">Loren Segal</a> reworked the Ruby definition and added highlighting for<br><a href="http://yardoc.org/">YARD</a> inline documentation</li>
<li>the definition of SQL has become more solid and now it shouldn’t be overly<br>greedy when it comes to language detection</li>
</ul>
<p>The highlighter has become more usable as a library allowing to do highlighting<br>from initialization code of JS frameworks and in ajax methods (see.<br>readme.eng.txt).</p>
<p>Also this version drops support for the <a href="http://wordpress.org/">WordPress</a> plugin. Everyone is<br>welcome to <a href="http://softwaremaniacs.org/blog/2012/05/10/http-and-json-in-highlight-js/en/">pick up its maintenance</a> if needed.</p>
<h2 id="Version-5-8"><a href="#Version-5-8" class="headerlink" title="Version 5.8"></a>Version 5.8</h2><ul>
<li>Jan Berkel has contributed a definition for Scala. +1 to hotness!</li>
<li>All CSS-styles are rewritten to work only inside <code>&lt;pre&gt;</code> tags to avoid<br>conflicts with host site styles.</li>
</ul>
<h2 id="Version-5-7"><a href="#Version-5-7" class="headerlink" title="Version 5.7."></a>Version 5.7.</h2><p>Fixed escaping of quotes in VBScript strings.</p>
<h2 id="Version-5-5"><a href="#Version-5-5" class="headerlink" title="Version 5.5"></a>Version 5.5</h2><p>This version brings a small change: now .ini-files allow digits, underscores and<br>square brackets in key names.</p>
<h2 id="Version-5-4"><a href="#Version-5-4" class="headerlink" title="Version 5.4"></a>Version 5.4</h2><p>Fixed small but upsetting bug in the packer which caused incorrect highlighting<br>of explicitly specified languages. Thanks to Andrew Fedorov for precise<br>diagnostics!</p>
<h2 id="Version-5-3"><a href="#Version-5-3" class="headerlink" title="Version 5.3"></a>Version 5.3</h2><p>The version to fulfil old promises.</p>
<p>The most significant change is that highlight.js now preserves custom user<br>markup in code along with its own highlighting markup. This means that now it’s<br>possible to use, say, links in code. Thanks to <a href="http://dolzhenko.blogspot.com/">Vladimir Dolzhenko</a> for the<br><a href="https://github.com/isagalaev/highlight.js/commit/f3056941bda56d2b72276b97bc0dd5f230f2473f">initial proposal</a> and for making a proof-of-concept patch.</p>
<p>Also in this version:</p>
<ul>
<li><a href="http://vasily.polovnyov.ru/">Vasily Polovnyov</a> has sent a GitHub-like style and has implemented<br>support for CSS @-rules and Ruby symbols.</li>
<li>Yura Zaripov has sent two styles: Brown Paper and School Book.</li>
<li>Oleg Volchkov has sent a definition for <a href="http://www.parser.ru/">Parser 3</a>.</li>
</ul>
<h2 id="Version-5-2"><a href="#Version-5-2" class="headerlink" title="Version 5.2"></a>Version 5.2</h2><ul>
<li>at last it’s possible to replace indentation TABs with something sensible<br>(e.g. 2 or 4 spaces)</li>
<li>new keywords and built-ins for 1C by Sergey Baranov</li>
<li>a couple of small fixes to Apache highlighting</li>
</ul>
<h2 id="Version-5-1"><a href="#Version-5-1" class="headerlink" title="Version 5.1"></a>Version 5.1</h2><p>This is one of those nice version consisting entirely of new and shiny<br>contributions!</p>
<ul>
<li><a href="http://vehq.ru/about/">Vladimir Ermakov</a> created highlighting for AVR Assembler</li>
<li><a href="http://rukeba.com/">Ruslan Keba</a> created highlighting for Apache config file. Also his<br>original visual style for it is now available for all highlight.js languages<br>under the name “Magula”.</li>
<li><a href="http://drakeguan.org/">Shuen-Huei Guan</a> (aka Drake) sent new keywords for RenderMan<br>languages. Also thanks go to <a href="http://k-evdokimenko.moikrug.ru/">Konstantin Evdokimenko</a> for his advice on<br>the matter.</li>
</ul>
<h2 id="Version-5-0"><a href="#Version-5-0" class="headerlink" title="Version 5.0"></a>Version 5.0</h2><p>The main change in the new major version of highlight.js is a mechanism for<br>packing several languages along with the library itself into a single compressed<br>file. Now sites using several languages will load considerably faster because<br>the library won’t dynamically include additional files while loading.</p>
<p>Also this version fixes a long-standing bug with Javascript highlighting that<br>couldn’t distinguish between regular expressions and division operations.</p>
<p>And as usually there were a couple of minor correctness fixes.</p>
<p>Great thanks to all contributors! Keep using highlight.js.</p>
<h2 id="Version-4-3"><a href="#Version-4-3" class="headerlink" title="Version 4.3"></a>Version 4.3</h2><p>This version comes with two contributions from <a href="http://jason.diamond.name/weblog/">Jason Diamond</a>:</p>
<ul>
<li>language definition for C# (yes! it was a long-missed thing!)</li>
<li>Visual Studio-like highlighting style</li>
</ul>
<p>Plus there are a couple of minor bug fixes for parsing HTML and XML attributes.</p>
<h2 id="Version-4-2"><a href="#Version-4-2" class="headerlink" title="Version 4.2"></a>Version 4.2</h2><p>The biggest news is highlighting for Lisp, courtesy of Vasily Polovnyov. It’s<br>somewhat experimental meaning that for highlighting “keywords” it doesn’t use<br>any pre-defined set of a Lisp dialect. Instead it tries to highlight first word<br>in parentheses wherever it makes sense. I’d like to ask people programming in<br>Lisp to confirm if it’s a good idea and send feedback to <a href="http://softwaremaniacs.org/forum/highlightjs/">the forum</a>.</p>
<p>Other changes:</p>
<ul>
<li>Smalltalk was excluded from DEFAULT_LANGUAGES to save traffic</li>
<li><a href="http://voldmar.ya.ru/">Vladimir Epifanov</a> has implemented javascript style switcher for<br>test.html</li>
<li>comments now allowed inside Ruby function definition</li>
<li><a href="http://en.wikipedia.org/wiki/Maya_Embedded_Language">MEL</a> language from <a href="http://drakeguan.org/">Shuen-Huei Guan</a></li>
<li>whitespace now allowed between <code>&lt;pre&gt;</code> and <code>&lt;code&gt;</code></li>
<li>better auto-detection of C++ and PHP</li>
<li>HTML allows embedded VBScript (<code>&lt;% .. %&gt;</code>)</li>
</ul>
<h2 id="Version-4-1"><a href="#Version-4-1" class="headerlink" title="Version 4.1"></a>Version 4.1</h2><p>Languages:</p>
<ul>
<li>Bash from Vah</li>
<li>DOS bat-files from Alexander Makarov (Sam)</li>
<li>Diff files from Vasily Polovnyov</li>
<li>Ini files from myself though initial idea was from Sam</li>
</ul>
<p>Styles:</p>
<ul>
<li>Zenburn from Vladimir Epifanov, this is an imitation of a<br><a href="http://en.wikipedia.org/wiki/Zenburn">well-known theme for Vim</a>.</li>
<li>Ascetic from myself, as a realization of ideals of non-flashy highlighting:<br>just one color in only three gradations :-)</li>
</ul>
<p>In other news. <a href="http://softwaremaniacs.org/forum/viewtopic.php?id=1823">One small bug</a> was fixed, built-in keywords were added for<br>Python and C++ which improved auto-detection for the latter (it was shame that<br><a href="http://alenacpp.blogspot.com/">my wife’s blog</a> had issues with it from time to time). And lastly<br>thanks go to Sam for getting rid of my stylistic comments in code that were<br>getting in the way of <a href="http://code.google.com/p/jsmin-php/">JSMin</a>.</p>
<h2 id="Version-4-0"><a href="#Version-4-0" class="headerlink" title="Version 4.0"></a>Version 4.0</h2><p>New major version is a result of vast refactoring and of many contributions.</p>
<p>Visible new features:</p>
<ul>
<li>Highlighting of embedded languages. Currently is implemented highlighting of<br>Javascript and CSS inside HTML.</li>
<li>Bundled 5 ready-made style themes!</li>
</ul>
<p>Invisible new features:</p>
<ul>
<li>Highlight.js no longer pollutes global namespace. Only one object and one<br>function for backward compatibility.</li>
<li>Performance is further increased by about 15%.</li>
</ul>
<p>Changing of a major version number caused by a new format of language definition<br>files. If you use some third-party language files they should be updated.</p>
<h2 id="Version-3-5"><a href="#Version-3-5" class="headerlink" title="Version 3.5"></a>Version 3.5</h2><p>A very nice version in my opinion fixing a number of small bugs and slightly<br>increased speed in a couple of corner cases. Thanks to everybody who reports<br>bugs in he <a href="http://softwaremaniacs.org/forum/highlightjs/">forum</a> and by email!</p>
<p>There is also a new language — XML. A custom XML formerly was detected as HTML<br>and didn’t highlight custom tags. In this version I tried to make custom XML to<br>be detected and highlighted by its own rules. Which by the way include such<br>things as CDATA sections and processing instructions (<code>&lt;? ... ?&gt;</code>).</p>
<h2 id="Version-3-3"><a href="#Version-3-3" class="headerlink" title="Version 3.3"></a>Version 3.3</h2><p><a href="http://xonixx.blogspot.com/">Vladimir Gubarkov</a> has provided an interesting and useful addition.<br>File export.html contains a little program that shows and allows to copy and<br>paste an HTML code generated by the highlighter for any code snippet. This can<br>be useful in situations when one can’t use the script itself on a site.</p>
<h2 id="Version-3-2-consists-completely-of-contributions"><a href="#Version-3-2-consists-completely-of-contributions" class="headerlink" title="Version 3.2 consists completely of contributions:"></a>Version 3.2 consists completely of contributions:</h2><ul>
<li>Vladimir Gubarkov has described SmallTalk</li>
<li>Yuri Ivanov has described 1C</li>
<li>Peter Leonov has packaged the highlighter as a Firefox extension</li>
<li>Vladimir Ermakov has compiled a mod for phpBB</li>
</ul>
<p>Many thanks to you all!</p>
<h2 id="Version-3-1"><a href="#Version-3-1" class="headerlink" title="Version 3.1"></a>Version 3.1</h2><p>Three new languages are available: Django templates, SQL and Axapta. The latter<br>two are sent by <a href="https://github.com/isagalaev/highlight.js/commit/f3056941bda56d2b72276b97bc0dd5f230f2473f">Dmitri Roudakov</a>. However I’ve almost entirely rewrote an<br>SQL definition but I’d never started it be it from the ground up :-)</p>
<p>The engine itself has got a long awaited feature of grouping keywords<br>(“keyword”, “built-in function”, “literal”). No more hacks!</p>
<h2 id="Version-3-0"><a href="#Version-3-0" class="headerlink" title="Version 3.0"></a>Version 3.0</h2><p>It is major mainly because now highlight.js has grown large and has become<br>modular. Now when you pass it a list of languages to highlight it will<br>dynamically load into a browser only those languages.</p>
<p>Also:</p>
<ul>
<li>Konstantin Evdokimenko of <a href="http://ribkit.sourceforge.net/">RibKit</a> project has created a highlighting for<br>RenderMan Shading Language and RenderMan Interface Bytestream. Yay for more<br>languages!</li>
<li>Heuristics for C++ and HTML got better.</li>
<li>I’ve implemented (at last) a correct handling of backslash escapes in C-like<br>languages.</li>
</ul>
<p>There is also a small backwards incompatible change in the new version. The<br>function initHighlighting that was used to initialize highlighting instead of<br>initHighlightingOnLoad a long time ago no longer works. If you by chance still<br>use it — replace it with the new one.</p>
<h2 id="Version-2-9"><a href="#Version-2-9" class="headerlink" title="Version 2.9"></a>Version 2.9</h2><p>Highlight.js is a parser, not just a couple of regular expressions. That said<br>I’m glad to announce that in the new version 2.9 has support for:</p>
<ul>
<li>in-string substitutions for Ruby – <code>#{...}</code></li>
<li>strings from from numeric symbol codes (like #XX) for Delphi</li>
</ul>
<h2 id="Version-2-8"><a href="#Version-2-8" class="headerlink" title="Version 2.8"></a>Version 2.8</h2><p>A maintenance release with more tuned heuristics. Fully backwards compatible.</p>
<h2 id="Version-2-7"><a href="#Version-2-7" class="headerlink" title="Version 2.7"></a>Version 2.7</h2><ul>
<li>Nikita Ledyaev presents highlighting for VBScript, yay!</li>
<li>A couple of bugs with escaping in strings were fixed thanks to Mickle</li>
<li>Ongoing tuning of heuristics</li>
</ul>
<p>Fixed bugs were rather unpleasant so I encourage everyone to upgrade!</p>
<h2 id="Version-2-4"><a href="#Version-2-4" class="headerlink" title="Version 2.4"></a>Version 2.4</h2><ul>
<li>Peter Leonov provides another improved highlighting for Perl</li>
<li>Javascript gets a new kind of keywords — “literals”. These are the words<br>“true”, “false” and “null”</li>
</ul>
<p>Also highlight.js homepage now lists sites that use the library. Feel free to<br>add your site by <a href="mailto:Maniac@SoftwareManiacs.Org">dropping me a message</a> until I find the time to build a<br>submit form.</p>
<h2 id="Version-2-3"><a href="#Version-2-3" class="headerlink" title="Version 2.3"></a>Version 2.3</h2><p>This version fixes IE breakage in previous version. My apologies to all who have<br>already downloaded that one!</p>
<h2 id="Version-2-2"><a href="#Version-2-2" class="headerlink" title="Version 2.2"></a>Version 2.2</h2><ul>
<li>added highlighting for Javascript</li>
<li>at last fixed parsing of Delphi’s escaped apostrophes in strings</li>
<li>in Ruby fixed highlighting of keywords ‘def’ and ‘class’, same for ‘sub’ in<br>Perl</li>
</ul>
<h2 id="Version-2-0"><a href="#Version-2-0" class="headerlink" title="Version 2.0"></a>Version 2.0</h2><ul>
<li>Ruby support by <a href="https://github.com/geekpanth3r">Anton Kovalyov</a></li>
<li>speed increased by orders of magnitude due to new way of parsing</li>
<li>this same way allows now correct highlighting of keywords in some tricky<br>places (like keyword “End” at the end of Delphi classes)</li>
</ul>
<h2 id="Version-1-0"><a href="#Version-1-0" class="headerlink" title="Version 1.0"></a>Version 1.0</h2><p>Version 1.0 of javascript syntax highlighter is released!</p>
<p>It’s the first version available with English description. Feel free to post<br>your comments and question to <a href="http://softwaremaniacs.org/forum/viewforum.php?id=6">highlight.js forum</a>. And don’t be afraid<br>if you find there some fancy Cyrillic letters – it’s for Russian users too :-)</p>
